﻿using System;
using System.Collections.Generic;

namespace planetExpressLib
{
    public class oficinaEN
    {
        private int idOficina;
        private string pais;
        private string provincia;
        private string ciudad;
        private string direccion;
        private int telefono;
        private string email;
        private string horario;
        private List<reservaEN> reservas;

        private oficinaCAD oficina_CAD;

        // --- CONSTRUCTORES --- //
        public oficinaEN()
        {
            idOficina = -1;
            pais = "España";
            provincia = "Alicante";
            ciudad = "Alicante";
            direccion = "Avenida del Doctor Ramón y Cajal";
            telefono = 0;
            email = "";
            horario = "";
            reservas = new List<reservaEN>();
        }

        public oficinaEN(oficinaEN nueva)
        {
            pais = nueva.pais;
            provincia = nueva.provincia;
            ciudad = nueva.ciudad;
            direccion = nueva.direccion;
            telefono = nueva.telefono;
            email = nueva.email;
            horario = nueva.horario;
            if (nueva != null && nueva.reservas != null)
                reservas = new List<reservaEN>(nueva.reservas);
        }

        // --- SETTERS Y GETTERS --- //
        public int IdOficina
        {
            get { return idOficina; }
            set { idOficina = value; }
        }

        public string Pais
        {
            get { return pais; }
            set { pais = value; }
        }

        public string Provincia 
        {
            get { return provincia; }
            set { provincia = value; }
        }

        public string Ciudad
        {
            get { return ciudad; }
            set { ciudad = value; }
        }

        public string Direccion
        {
            get { return direccion; }
            set { direccion = value; }
        }

        public int Telefono
        {
            get { return telefono; }
            set { telefono = value; }
        }

        public string Email
        {
            get { return email; }
            set { email = value; }
        }

        public string Horario
        {
            get { return horario; }
            set { horario = value; }
        }

        // --- CONEXION CON CAD --- //

        public void insertar()
        {
            oficina_CAD = new oficinaCAD();
            oficina_CAD.insertar(this);
        }

        public void actualizar()
        {
            oficina_CAD = new oficinaCAD();
            oficina_CAD.actualizar(this);
        }

        public void borrar()
        {
            oficina_CAD = new oficinaCAD();
            oficina_CAD.borrar(idOficina);
        }

        public oficinaEN readID(int id)
        {
            oficina_CAD = new oficinaCAD();
            return oficina_CAD.readID(id);
        }

        public List<oficinaEN> readAll()
        {
            oficina_CAD = new oficinaCAD();
            return oficina_CAD.readAll();
        }

    }

}